package asCachePool.interfaces
{
	/**
	 * 缓存信息接口
	 * @author Pelephone
	 * @website http://cnblogs.com/pelephone
	 */
	public interface ICacheInfo
	{
		/**
		 * 被缓存的对象
		 */
		function getBody():Object;
		/**
		 * 被缓存的对象
		 */
		function setBody(value:Object):void;
		
		/**
		 * 缓存更新时间
		 */
		function getUpdateTime():int;
		/**
		 * 缓存更新时间
		 */
		function setUpdateTime(value:int):void;
		
		/**
		 * 使用次数
		 */
		function getCount():int;
		/**
		 * 使用次数
		 */
		function setCount(value:int):void;
		
		/**
		 * 过期时间，即到了此时间会有timer自动清理
		 */
		function getExpired():int;
		/**
		 * 过期时间，即到了此时间会有timer自动清理
		 */
		function setExpired(value:int):void;
		
		/**
		 * 缓存主键
		 */
		function getKeyName():String;
		/**
		 * 缓存主键
		 */
		function setKeyName(value:String):void;
		
		/**
		 * 缓存版本
		 */
		function getVersion():Number;
		/**
		 * 缓存版本
		 */
		function setVersion(value:Number):void;
		
		/**
		 * 缓存存的组名
		 */
		function getGroupName():String;
		/**
		 * 缓存存的组名
		 */
		function setGroupName(value:String):void;
		
		/**
		 * 动态变量
		 * 用动态变量的好处是提高效率，as可以for in设置属性
		 */
		function get dyVars():Object;
		/**
		 * 是否启用动态变量赋值
		 */
		function get isGSVars():Boolean;
	}
}